/*
-----------------------------------------------------------------------------
This source file is part of Labor3D
(Labor 3D Graphics Engine)

Copyright (c) 2009-2020 Rock Mao
* creator : Rock Mao
* created : 2009-5-2   22:29
* filename: LaborVertexBuffer.h
-----------------------------------------------------------------------------
*/
#ifndef __LABORVERTEXBUFFER_H__
#define __LABORVERTEXBUFFER_H__

#include "../LaborCoreDef.h"
#include "LaborHardwareBuffer.h"
NAMESPACE_LABOR3D_BEGIN

class LABORCORE_API CLVertexBuffer : public CLHardwareBuffer
{	
protected:
	size_t mNumVertices;
	size_t mVertexSize;
public:
	CLVertexBuffer(size_t vertexSize, size_t numVertices,
		EHB_Usage usage, bool useSystemMemory, bool useShadowBuffer);
	~CLVertexBuffer();

	/// Gets the size in bytes of a single vertex in this buffer
	size_t getVertexSize(void) const { return mVertexSize; }
	/// Get the number of vertices in this buffer
	size_t getNumVertices(void) const { return mNumVertices; }

};

NAMESPACE_LABOR3D_END
#endif